package com.jsjosem.aftersales.api;

import com.jsjosem.aftersales.data.request.AllotEventRequest;
import com.jsjosem.aftersales.data.request.EventReceiptRequest;
import com.jsjosem.aftersales.data.response.BaseResponse;
import com.jsjosem.aftersales.data.response.EventResponse;
import com.jsjosem.aftersales.data.response.NotificationsResponse;
import com.jsjosem.aftersales.data.response.PageResponse;

import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface EventApi {

    /**
     * 事件列表
     **/
    @GET("/events")
    Call<PageResponse<EventResponse>> events(@Query("page") int page, @Query("limit") int limit,@Query("status")String status,@Query("about_me") String aboutMe);

    /**
     * 事件通知列表
     **/
    @GET("/notifications")
    Call<PageResponse<NotificationsResponse>> eventsNotifications(@Query("page") int page, @Query("limit") int limit, @Query("type") String type);

    /**
     * 事件详情
     **/
    @GET("/events/{eventId}")
    Call<BaseResponse<EventResponse>> getEventInfoById(@Path("eventId") Integer eventId);

    /**
     * 分配
     *
     * @param eventId
     * @param request
     * @return
     */
    @POST("/events/{id}/allot")
    Call<BaseResponse<Void>> allot(@Path("id") Integer eventId,
                                   @Body AllotEventRequest request);

    /**
     * 完成
     *
     * @param eventId
     * @param request
     * @return
     */
    @POST("/events/{id}/receipt")
    Call<BaseResponse<Void>> receipt(@Path("id") String eventId,
                                     @Body EventReceiptRequest request);


}
